In loving memory of Phillip MacDonald. Thanks for introducing me to the wild world of wordsmithing.
Right now, design systems are flourishing, evolving. Each product or web site is no longer crafted in isolation, but as part of a larger conversation, in a social web, among chatbots and machine learning. It is our duty to ensure every piece of the system speaks to each other, from the components to the people, fluently and eloquently. Thanks to the shift toward “modular design,” we see harmonious experiences composed from the ground up of independent modules, such as videos or articles that stand well on their own and yet can also be arranged to fit cohesively into a larger whole. This is only possible when we use a consistent language for designing modules in a system so that every part delights and the whole resonates.
Here you can see the beauty of the peacock’s feathers emerges from the repeated pattern presented together.
My hope is for this book to serve as a guide to designers and makers toward strong foundations upon which we build. With a solid grounding, we can spend more time remixing our ideas into tailored and personalized experiences. We can spend more time exploring the cutting edge, innovating, and crafting beautiful user experiences.
This book is for designers, developers, marketers, and makers familiar with the basics of building the Web who want to produce better user experiences in digital products. This book will help you learn how to discern good from bad, build on existing communities of practice, and dig deep into fundamentals.
This book offers a concise guide to UI patterns: the tested, proven general mechanisms for solving recurring user interface problems, so that you don’t have to reinvent the wheel and can instead focus on designing solutions to the unique problems in your business.
Methods for discovering, evaluating, and implementing patterns according to best practices
Specific examples of real-world, business-critical UI patterns, including onboarding new users, information seeking and social sharing, as well as e-commerce purchase journeys
Vocabulary to help you match solutions to problems
Overview of the digital landscape and resources for further learning
Chapters 2 and 3 explore user signup and onboarding to highlight the process of discovering, evaluating, and understanding patterns through the theme of finding, reading, and sharing information.
Chapters 4 and 5 will cover how to consistently apply solid patterns through design systems and pattern libraries and how to avoid anti-patterns.
Finally, we’ll explore mixing and matching patterns for e-commerce in depth. This is where the magic happens. Most of the book will focus on potential solutions, so you can choose the right tool for your problems. This chapter, however, will explore a specific problem space and apply pattern solutions to these problems.
In the digital space, there’s a lot of crossover among software engineering, visual design, and information architecture. While these fields have their own rich heritage and history behind them that can inform digital interactions, we’ll be avoiding them because that’s far too much to cover in one book. However, I strongly encourage everyone to pursue information elsewhere to learn the history of their field of practice as well as the relevant disciplines that came before. For example, while copywriters and content strategists on the Web face uniquely digital challenges writing blogs, RSS feeds, tweets, and cross-channel content, they can learn immense amounts from journalists, librarians, and traditional marketers as some challenges remain the same as those found in these preexisting fields. I’ll touch on some copywriting practices for UI later on, but if you spend most of your day writing, you’ll want to dig further into these fields.
This book won’t cover exhaustive lists of available patterns for all scenarios. There is no complete code library or complete collection of design assets. I will only mention some particular resources, pattern libraries, and showcases that will help you find further extensive collections of patterns for different contexts. I’ll also point out common names for patterns that differ across libraries.
Patterns are neat because they elegantly package up all the things you need to know about interface and interaction design. They help you grow into the field. They are useful resources that you can refer back to (you don’t need to memorize all of them from the start). If you have the general gist of patterns available and instant access to all of them, all you need to do is look up the pattern you need when it comes time to solve a problem. If you know a handful of relevant, similar patterns, you can look them all up and weigh them one by one.
Use this book to learn how to recognize traits across seemingly unrelated patterns and how they similarly solve problems (e.g., continuous scrolling, tabs, and pagination might have more in common than you think). Then you can start with a problem space (whether driven by stakeholder engagement, user research, or technology), clarify the problem according to real user needs, validate them, then translate those needs into pattern solutions.
Use this book to learn how to communicate UI design solutions. Most of this book will be more valuable to people new to the practice of web and product design as they develop their vocabulary to discuss interface patterns. It may, however, also help experts learn how to share their solutions as they learn how to mentor.
This book will show you concrete examples of how to discover UI patterns, evaluate patterns, and communicate solutions to design problems and user needs. Use this book as a starting point for your journey into making digital user interfaces.
Thanks to all the fabulous people involved in bringing this book to life, including the friends and associates who encouraged me and gave me feedback. Thanks to Simon Mackie and Darin Dimitroff in helping me start this book. Thanks to Wesley Moore, who was with me through all of it.
Special thanks to the folks at Apress who made this book possible.
is a Melbourne product designer, raised in the tropical north of Australia. She has relished the tech industry for over a decade, exploring the digital space with progressive organizations like Culture Amp, Bellroy, and SitePoint. At Culture Amp, she led the new design systems team to accelerate UI design and development. She values inclusive and remarkable stories. You can find out more about her on her LinkedIn profile ( www.linkedin.com/in/diana-macdonald-didoesdigital ) and contact her via Twitter ( https://twitter.com/didoesdigital ).
is a passionate designer and developer with over 7 years of experience having worked across the financial and government sectors. She creates innovative, intuitive customer experiences and is an advocate of accessible design. As Lead UX/UI Designer at Alt Labs, she is leading the UX vision and crafting beautiful solutions driven by user needs. In her previous role she worked as a Senior UX/UI Designer for Accenture, promoting accessible design in government services and helping automate legacy processes to improve the customer journey. She has also spent over 5 years with AXA Insurance as an Application Support Software Developer where she fixed bugs in legacy financial systems, debugged issues with browser compatibility, and suggested improvements to customer-facing journeys. She is passionate about advocating accessible design and mentoring those who would like to have a career in design or development.